package com.company.jvm.abstractclass;

/**
 * @author ylr
 * @version 1.0.0
 * @ClassName PersonAbstract.java
 * @Description TODO
 * @createTime 2021年12月04日 18:53:00
 */
//一个子类继承一个抽象类，则子类必须实现父类抽象方法，否则子类也必须定义为抽象类；
public abstract class PersonAbstract implements PersonInterface{
    PersonAbstract(){
//        PersonAbstract personAbstract = new PersonAbstract();// 抽象类可以包含构造方法, 但是不能用于实例化
    }
    public void test1(){}//抽象类可以包含普通方法
    public abstract void test2();//包含抽象方法一定是抽象类, 抽象类不一定包含抽象方法
//    private abstract void test3();//抽象方法只能被protected 或者 public 修饰

}

//具体类
class Person extends PersonAbstract {

    @Override
    public void test2() {

    }

    @Override
    public void run() {

    }
}
